<!DOCTYPE HTML>
<html xmlns:th="http://www.thymeleaf.org">
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
    <title>商品详情</title>
    <!-- jquery -->
    <script type="text/javascript" th:src="@{/js/jquery.min.js}"></script>
    <!-- bootstrap -->
    <link rel="stylesheet" type="text/css" th:href="@{/bootstrap/css/bootstrap.min.css}"/>
    <script type="text/javascript" th:src="@{/bootstrap/js/bootstrap.min.js}"></script>
    <!-- jquery-validator -->
    <script type="text/javascript" th:src="@{/jquery-validation/jquery.validate.min.js}"></script>
    <script type="text/javascript" th:src="@{/jquery-validation/localization/messages_zh.min.js}"></script>
    <!-- layer -->
    <script type="text/javascript" th:src="@{/layer/layer.js}"></script>
    <!-- md5.js -->
    <script type="text/javascript" th:src="@{/js/md5.min.js}"></script>
    <!-- common.js -->
    <script type="text/javascript" th:src="@{/js/common.js}"></script>
</head>
<body>

<div class="panel panel-default">
    <div class="panel-heading">秒杀商品详情</div>
    <div class="panel-body">
        <span th:if="${user eq null}"> 您还没有登录，请登陆后再操作<br/></span>
    </div>
    <form id="secKillForm" onsubmit="return false" action="#" method="post">
        <table class="table" id="goodslist">
            <tr>
                <td>商品名称</td>
                <td colspan="3" th:text="${goods.goodsName}"></td>
            </tr>
            <tr>
                <td>商品图片</td>
                <td colspan="3"><img th:src="@{${goods.goodsImg}}" width="200" height="200"/></td>
            </tr>
            <tr>
                <td>秒杀开始时间</td>
                <td th:text="${#temporals.format(goods.startDate, 'yyyy-MM-dd HH:mm:ss')}"></td>
            </tr>
            <tr>
                <td id="seckillTip">
                    <input type="hidden" id="remainSeconds" th:value="${remainSeconds}"/>
                    <span th:if="${seckillStatus eq 0}">秒杀倒计时：</span>
                    <span th:if="${seckillStatus eq 1}">秒杀进行中</span>
                    <span th:if="${seckillStatus eq 2}">秒杀已结束</span>
                </td>
                <td>
                    <span th:if="${seckillStatus eq 0}"><span id="countDown" th:text="${remainSeconds}"></span>秒</span>
                </td>
                <td>
                    <button class="btn btn-primary btn-block" type="submit" id="buyButton">立即秒杀</button>
                    <input type="hidden" name="goodsId" th:value="${goods.id}"/>
                </td>
            </tr>
            <tr>
                <td>商品原价</td>
                <td colspan="3" th:text="${goods.goodsPrice}"></td>
            </tr>
            <tr>
                <td>秒杀价</td>
                <td colspan="3" th:text="${goods.secKillPrice}"></td>
            </tr>
            <tr>
                <td>库存数量</td>
                <td colspan="3" th:text="${goods.stockCount}"></td>
            </tr>
        </table>
    </form>
</div>
</body>
<script>
    $(function () {
        function countDown() {
            const remainSeconds = parseInt($("#remainSeconds").val());
            var timeout;
            if (remainSeconds > 0) {
                // 秒杀还没开始，倒计时
                // $("#buyButton").attr("disabled", true);
                timeout = setTimeout(function () {
                    $("#countDown").text(remainSeconds - 1);
                    $("#remainSeconds").val(remainSeconds - 1);
                    countDown();
                }, 1000);
            } else if (remainSeconds === 0) {
                // 秒杀进行中
                $("#buyButton").attr("disabled", false);
                if (timeout) {
                    clearTimeout(timeout);
                }
                $("#seckillTip").html("秒杀进行中");
            } else {
                // 秒杀已经结束
                $("#buyButton").attr("disabled", true);
                $("#seckillTip").html("秒杀已经结束");
            }
        }
        countDown();

        $("#secKillForm").submit(function (e) {
            g_showLoading();
            $.ajax({
                type: "POST",
                dataType: "json",
                url: "/seckill/do_seckill",
                data: $(this).serialize(),
                success: function (result) {
                    const code = Math.round(result.code / 1000)
                    if (code === 200) {
                        setTimeout(() => { layer.msg(result.msg, {icon: 1}); }, 1000)
                    } else {
                        setTimeout(() => { layer.msg(result.msg, {icon: 2}); }, 1000)
                    }
                },
                error: function (err) {
                    layer.msg(err, {icon: 5});
                }
            })
        })
    });
</script>
</html>
